package heroall

import (
	"GameServer/Game/heroall/internal"
	"fmt"
)

var TempPageModule *internal.TempPage = internal.NewTempPage()

// 获取所有英雄
func GetAllHero() {
	return
}

// 获取所有装备
func GetAllGood() {
	return
}

// 获取章节page以下的装备，包括page章节
func GetPageBelowGood(page int64) {
	return
}

// 通过装备tid获取英雄tid
func GetHeroTidByGoodTid(goodtid int64) (r int64, ok bool) {
	good, ok := TempPageModule.MTempGood[uint64(goodtid)]
	if !ok {
		fmt.Println("TempPageModule 获取装备信息失败")
		return
	}
	r = int64(good.Owner)
	return
}

// 通过英雄tid获取英雄的装备tid
func GetGoodsTidByHeroTid(herotid int64) (r []int64, ok bool) {
	r = make([]int64, 0)
	for _, item := range TempPageModule.LTempGood {
		if int64(item.Owner) == herotid {
			r = append(r, int64(item.Id))
		}
	}
	return r, true
}

// 获取章节page以下的装备tid，包括page章节
func GetPageBelowGoodTid(page int64) (r []int64, ok bool) {
	mth := make(map[int64]int64)
	// 将page以下的章节的英雄找出来
	for _, item := range TempPageModule.LTempHero {
		if int64(item.Page) <= page {
			mth[int64(item.Id)] = int64(item.Id)
		}
	}
	r = make([]int64, 0)
	// 将这些英雄的装备找出来
	for _, item := range TempPageModule.LTempGood {
		// 装备的英雄在章节下，加入装备tid
		if _, ok := mth[int64(item.Owner)]; ok {
			r = append(r, int64(item.Id))
		}
	}
	return r, true
}

// 没有的装备的Tid
func GetNotGoodTid() (r []int64) {
	r = make([]int64, 0)
	for _, item := range TempPageModule.LTempGood {
		r = append(r, int64(item.Id))
	}
	return
}
